// run: $exec < input
#include <iostream>
#include <iomanip>
#include <algorithm>

int const maxn = 2000;
int a[maxn];
int n, len;

bool judge(double mid)
{
	double last = 0;
	for (int i = 0; i < n; i++) {
		if (a[i] - mid > last) return false;
		last = a[i] + mid;
	}
	return last >= len;
}

int main()
{
	std::ios::sync_with_stdio(false);
	std::cin >> n >> len;
	for (int i = 0; i < n; i++) std::cin >> a[i];
	std::sort(a, a + n);
	double l = 0, r = len;
	for (int i = 0; i < 200; i++) {
		double mid = (l + r) / 2.0;
		if (judge(mid)) r = mid;
		else l = mid;
	}
	std::cout << std::fixed << std::setprecision(10) << l << "\n";
}

